The present invention generally relates to deploying computer services, and more specifically, to the automatic generation of blueprints for orchestration engines from discovered workload representations.
The manual process of setting up a computing environment involves multiple steps such as obtaining the hardware, installing an operating system, connecting to and configuring a network, allocating storage, configuring security, deploying a database, connecting to a back-end system, and deploying an application. Orchestration tools have recently become available to automate portions of this process.
Cloud orchestration is the end-to-end automation of the deployment of services in a cloud environment. More specifically, it is the automated arrangement, coordination, and management of complex computer systems, middleware, and services in an attempt to accelerate the delivery of information technology (IT) services. Cloud orchestration can be used to manage cloud infrastructure, which supplies and assigns required cloud resources to customers, such as the creation of virtual machines (VMs), allocation of storage capacity, management of network resources, and granting access to cloud software. By using appropriate orchestration mechanisms, users can deploy and start using servers on any cloud platform.
Orchestration tools typically utilize a blueprint that represents a workload as input to deploying services for the workload. A blueprint is a declarative representation of the workload that is both human and machine readable. It describes the resources needed to support the workload as well as the properties of the resources. A blueprint allows solution architects to specify “here is what I want for this workload” without having to write a sequence of programming commands that instruct how to create the resources.